Trong vũ trụ tinh tế của Ruby, kiểu dữ liệu nguyên thủy là những nguyên tử bất khả phân của logic. Khác với các container lưu trữ tập hợp, các kiểu dữ liệu nguyên thủy như Integer và Float đại diện cho các giá trị duy nhất và chính xác. Các kiểu này kế thừa từ lớp Numeric lớp, kế thừa một bộ gen vững chắc gồm các phương thức toán học.
Số nguyên linh hoạt
Ruby quản lý bộ nhớ bằng một nghệ thuật tinh vi. Nó phân biệt giữa Fixnum (số nguyên trong phạm vi được tối ưu hóa bởi phần cứng) và Bignum (số nguyên có độ chính xác tùy ý). Trên hệ thống 64-bit, giới hạn được đặt giữa $-2^{62}$ và $2^{62} - 1$.
Khi một phép tính vượt quá các giới hạn này, thuật toán nội bộ của Ruby thực hiện một chuyển đổi thầm lặng, tái phân bổ bộ nhớ bằng cách sử dụng một tập hợp các số nguyên ngắn có độ dài thay đổi. Điều này bảo vệ nhà phát triển khỏi hiện tượng tràn số nguyên thường gặp trong các ngôn ngữ cấp thấp.
Tương tác với các kiểu dữ liệu nguyên thủy
Các kiểu dữ liệu nguyên thủy không thụ động; chúng phản hồi với các phương thức như .abs và tham gia vào luồng chức năng thông qua các bộ lặp. Để kiểm tra nghiêm ngặt, phương thức Integer(object) sẽ đảm bảo chỉ dữ liệu tương thích với số mới được đưa vào logic của bạn, bảo vệ hệ thống khỏi đầu vào bị lỗi.